﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;

namespace Windy.OpenLink
{
    //public static class LinqExtension
    //{
    //    #region StartAt

    //    public static IEnumerable<T> StartAt<T>(this IEnumerable<T> list, int index)
    //    {
    //        if (index < 0)
    //            throw new ArgumentOutOfRangeException("index", "Index cannot be negtive.");

    //        return
    //            index == 0 ?
    //            list :
    //            list.Skip(index - 1);
    //    }

    //    #endregion StartAt

    //    #region Prepend and Append

    //    public static IEnumerable<T> AppendHead<T>(IEnumerable<T> list, T item)
    //    {
    //        yield return item;

    //        foreach (var fo in list)
    //        {
    //            yield return fo;
    //        }
    //    }

    //    public static IEnumerable<T> AppendHead<T>(IEnumerable<T> list, params T[] items)
    //    {
    //        return items.Concat(list);
    //    }

    //    public static IEnumerable<T> AppendTail<T>(IEnumerable<T> list, T item)
    //    {
    //        foreach (var fo in list)
    //            yield return fo;

    //        yield return item;
    //    }

    //    public static IEnumerable<T> AppendTail<T>(IEnumerable<T> list, params T[] items)
    //    {
    //        return list.Concat(items);
    //    }

    //    #endregion Prepend and Append
    //}
}